%%
%% This is file `achemso.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% achemso.dtx  (with options: `class')
%%  ----------------------------------------------------------------
%%  achemso --- Support for submissions to American  Chemical
%%    Society journals
%%  Maintained by Joseph Wright
%%  E-mail: joseph.wright@morningstar2.co.uk
%%  Released under the LaTeX Project Public License v1.3c or later
%%  See http://www.latex-project.org/lppl.txt
%%  ----------------------------------------------------------------
%% 
\NeedsTeXFormat{LaTeX2e}
\LoadClass[12pt]{article}
\ProvidesClass{achemso}
  [2009/02/03 v3.1a Submissions to ACS journals]
\RequirePackage[etex=false]{notes2bib}[2008/06/21]
\RequirePackage[margin=2.54cm]{geometry}
\RequirePackage[T1]{fontenc}
\RequirePackage[scaled=0.90]{helvet}
\RequirePackage{mathptmx,courier,setspace,graphicx,truncate,
  float,varioref,url,caption}
\AtBeginDocument{\doublespacing}
\renewcommand*{\title}[2][]{%
  \gdef\@title{#2}%
  \gdef\acs@title{#2}%
  \gdef\@shorttitle{#1}}
\@onlypreamble\title
\newcount\acs@authorcnt
\newcount\acs@affilcnt
\newcount\acs@altaffilcnt
\renewcommand*{\author}[1]{%
  \global\advance\acs@authorcnt\@ne\relax
  \expandafter\gdef\csname @author@\@roman\the\acs@authorcnt\endcsname
    {#1}%
  \begingroup
    \advance\acs@affilcnt\@ne
    \expandafter\xdef\csname @author@affil@\@roman\the\acs@authorcnt
      \endcsname
      {\the\acs@affilcnt}%
  \endgroup
}
\@onlypreamble\author
\renewcommand*{\and}{%
  \ClassError{achemso}{\string\and\space not supported}
    {The achemso class does not use \string\and
     \MessageBreak see the documentation for details}}
\renewcommand*{\thanks}[1]{%
  \ClassError{achemso}{\string\thanks\space not supported}
    {The achemso class does not use \string\thanks
     \MessageBreak see the documentation for details}}
\newcommand*{\affiliation}[2][\relax]{%
  \ifnum\acs@authorcnt>\z@\relax
    \acs@affil@ifdup{#2}{%
      \acs@affil@swap{#2}%
    }{%
      \global\advance\acs@affilcnt\@ne
      \expandafter\gdef\csname @address@\@roman\acs@affilcnt
        \endcsname{#2}%
      \ifx\relax#1\relax
        \expandafter\gdef\csname @affil@\@roman\acs@affilcnt
          \endcsname{#2}%
      \else
        \expandafter\gdef\csname @affil@\@roman\acs@affilcnt
          \endcsname{#1}%
      \fi
    }%
  \else
    \ClassWarning{achemso}
      {Affiliation with no author}%
  \fi}
\@onlypreamble\affiliation
\newcommand*{\acs@affil@ifdup}[1]{%
  \begingroup
    \def\acs@tempa{#1}%
    \acs@switchfalse
    \acs@tempcnta\z@\relax
    \acs@affil@ifdup@aux
    \ifacs@switch
      \aftergroup\@firstoftwo
    \else
      \aftergroup\@secondoftwo
    \fi
    \endgroup
}
\newcommand*{\acs@affil@ifdup@aux}{%
  \advance\acs@tempcnta\@ne\relax
  \expandafter\expandafter\expandafter\def\expandafter\expandafter
    \expandafter\acs@tempb\expandafter\expandafter\expandafter
    {\csname @address@\@roman\acs@tempcnta\endcsname}%
  \ifx\acs@tempa\acs@tempb
    \expandafter\acs@switchtrue
  \else
    \ifnum\acs@tempcnta<\acs@affilcnt\relax
      \expandafter\expandafter\expandafter\acs@affil@ifdup@aux
    \fi
  \fi
}
\newcommand*{\acs@affil@swap}[1]{%
  \begingroup
    \def\acs@tempa{#1}%
    \acs@tempcnta\z@\relax
    \acs@tempcntb\z@\relax
    \acs@affil@ifdup@aux
    \advance\acs@affilcnt\@ne\relax
    \acs@affil@swap@aux
  \endgroup
}
\newcommand*{\acs@affil@swap@aux}{%
  \advance\acs@tempcntb\@ne\relax
  \expandafter\ifnum\csname @author@affil@\@roman
    \acs@tempcntb\endcsname = \acs@affilcnt\relax
    \expandafter\xdef\csname @author@affil@\@roman
      \acs@tempcntb\endcsname{\the\acs@tempcnta}%
  \fi
  \ifnum\acs@tempcntb<\acs@authorcnt\relax
    \expandafter\acs@affil@swap@aux
  \fi
}
\newcommand*{\alsoaffiliation}[2][\relax]{%
  \ifnum\acs@authorcnt>\z@\relax
    \acs@affil@ifdup{#2}{%
      \acs@alsoaffil@find{#2}%
    }{%
      \global\advance\acs@affilcnt\@ne
      \acs@tempcnta\acs@affilcnt\relax
      \expandafter\gdef\csname @address@\@roman\acs@affilcnt
        \endcsname{#2}%
      \ifx\relax#1\relax
        \expandafter\gdef\csname @affil@\@roman\acs@affilcnt
          \endcsname{#2}%
      \else
        \expandafter\gdef\csname @affil@\@roman\acs@affilcnt
          \endcsname{#1}%
      \fi
    }%
    \@ifundefined{@author@alsoaffil@\@roman\acs@authorcnt}{%
      \expandafter\xdef\csname @author@alsoaffil@\@roman\acs@authorcnt
        \endcsname{\the\acs@tempcnta}%
    }{%
      \expandafter\xdef\csname @author@alsoaffil@\@roman\acs@authorcnt
        \endcsname{\csname @author@alsoaffil@\@roman\acs@authorcnt
          \endcsname,\the\acs@tempcnta}%
    }
  \else
    \ClassWarning{achemso}
      {Affiliation with no author}%
  \fi}
\newcommand*{\acs@alsoaffil@find}[1]{%
  \begingroup
    \def\acs@tempa{#1}%
    \acs@tempcnta\z@\relax
    \acs@tempcntb\z@\relax
    \acs@affil@ifdup@aux
  \expandafter\endgroup
  \expandafter\acs@tempcnta\the\acs@tempcnta\relax
}
\newcommand*{\altaffiliation}[1]{%
  \ifnum\acs@authorcnt>\z@\relax
    \global\advance\acs@altaffilcnt\@ne\relax
    \expandafter\gdef\csname @altaffil@\@roman\acs@authorcnt
      \endcsname{#1}%
    \expandafter\xdef\csname @author@altaffil@\@roman\acs@authorcnt
      \endcsname{\the\acs@altaffilcnt}%
  \else
    \ClassWarning{achemso}
      {Affiliation with no author}%
  \fi}
\@onlypreamble\altaffiliation
\newcommand*{\email}[1]{%
  \ifnum\acs@authorcnt>\z@\relax
    \expandafter\gdef\csname @email@\@roman\acs@authorcnt
      \endcsname{#1}%
  \else
    \ClassWarning{achemso}
      {E-mail with no author}%
  \fi}
\@onlypreamble\email
\renewcommand*{\@maketitle}{%
  \ifnum\acs@authorcnt<\z@\relax
    \ClassError{achemso}{No authors defined}
      {At least one author is required}%
  \fi
  \newpage
  \null
  \vskip 2em%
  \begin{center}%
    {\LARGE\bfseries\sffamily
     \renewcommand*{\acs@tempa}{suppinfo}%
     \ifx\acs@manuscript\acs@tempa
       Supporting information for:
     \fi
     \@title \par}%
    \vskip 1.5em\relax
    {\large\sffamily\frenchspacing \acs@authorlist}%
    \vskip 1em%
    {\itshape\acs@addresslist}%
    \vskip 1em\relax
    {\sffamily E-mail: \acs@emaillist}%
  \end{center}
  \par
  \vskip 1.5em\relax}
\renewcommand*{\@thanks}{%
  \ifnum\acs@affilcnt>\@ne\relax
    \acs@affilfoot
  \else
    \ifnum\acs@altaffilcnt>\z@\relax
      \acs@affilfoot
    \fi
  \fi}
\newcommand*{\acs@authorlist}{%
  \acs@tempcnta\z@\relax
  \acs@tempcntb\acs@affilcnt\relax
  \ifnum\acs@authorcnt=\z@\relax
    \ClassError{achemso}{No authors given}
      {No authors were specified for the paper}%
  \else
    \expandafter\acs@authorlist@aux
  \fi}
\newcommand*{\acs@authorlist@aux}{%
  \advance\acs@tempcnta\@ne\relax
  \def\acs@tempa{}%
  \ifnum\acs@authorcnt=\@ne\relax\else
    \ifnum\acs@tempcnta=\acs@authorcnt\relax
      \space and%
    \fi
  \fi
  \space
  \csname @author@\@roman\acs@tempcnta\endcsname
  \ifnum\acs@tempcnta<\acs@authorcnt
    ,%
  \fi
  \begingroup
    \@ifundefined{@email@\@roman\acs@tempcnta}
      {}
      {\aftergroup\acs@authorlist@email}%
  \endgroup
  \begingroup
    \expandafter\acs@tempcntb\csname @author@affil@\@roman
      \acs@tempcnta\endcsname\relax
    \@ifundefined{@affil@\@roman\acs@tempcntb}
      {\ClassError{achemso}{Affiliation not given}
       {No affiliation has been given for author\MessageBreak
        \csname @author@\@roman\acs@tempcnta\endcsname}}
      {}%
  \endgroup
  \ifnum\acs@affilcnt>\@ne\relax
    \protected@edef\acs@tempa{%
      \acs@tempa
      \acs@fnsymbol{%
        \csname @author@affil@\@roman\acs@tempcnta\endcsname
      }%
    }%
  \else
    \ifnum\acs@altaffilcnt>\z@\relax
      \protected@edef\acs@tempa{\acs@tempa\acs@fnsymbol{\@ne}}%
    \fi
  \fi
  \begingroup
    \@ifundefined{@author@alsoaffil@\@roman\acs@tempcnta}
      {}
      {\aftergroup\acs@authorlist@also}%
  \endgroup
  \begingroup
    \@ifundefined{@author@altaffil@\@roman\acs@tempcnta}
      {}
      {\aftergroup\acs@authorlist@alt}%
  \endgroup
  \ifx\@empty\acs@tempa\@empty\else
    \textsuperscript{\acs@tempa}%
  \fi
  \ifnum\acs@tempcnta<\acs@authorcnt
    \expandafter\acs@authorlist@aux
  \fi
}
\newcommand*{\acs@authorlist@email}{%
  \protected@edef\acs@tempa{%
    \acs@fnsymbol{\z@}%
    \ifnum\acs@affilcnt>\@ne\relax
      ,%
    \else
      \ifnum\acs@altaffilcnt>\z@\relax
        ,%
      \fi
    \fi
  }%
}
\newcommand*{\acs@authorlist@also}{%
  \expandafter\@for\expandafter\acs@tempb\expandafter:\expandafter
    =\csname @author@alsoaffil@\@roman\acs@tempcnta\endcsname\do{%
    \protected@edef\acs@tempa{%
      \acs@tempa
      ,%
      \acs@fnsymbol{\acs@tempb}%
    }%
  }%
}
\newcommand*{\acs@authorlist@alt}{%
  \advance\acs@tempcntb\@ne\relax
  \protected@edef\acs@tempa{%
    \acs@tempa
    ,%
    \acs@fnsymbol{\acs@tempcntb}%
  }%
}
\newcommand*{\acs@fnsymbol}[1]{%
  \ensuremath{\ifcase#1 *\or \dagger\or \ddagger\or \P\or
   \S\or \|\or \bot\or \#\or @\or \triangle\or \nabla\else
   \ClassError{achemso}{Too many affiliations}
     {There are no symbols left: complain to the package
      author}\fi}}
\newcommand*{\acs@addresslist}{%
  \ifnum\acs@affilcnt>\z@\relax
    \acs@tempcnta\z@\relax
    \acs@addresslist@aux
  \else
    \ClassError{achemso}{No affiliations}
      {At least one affiliation is needed}%
  \fi}
\newcommand*{\acs@addresslist@aux}{%
  \advance\acs@tempcnta\@ne\relax
  \ifnum\acs@affilcnt>\@ne\relax
    \ifnum\acs@tempcnta=\acs@affilcnt\relax
      and
    \fi
  \fi
  \csname @address@\@roman\acs@tempcnta\endcsname
  \ifnum\acs@tempcnta<\acs@affilcnt\relax
    ,
    \expandafter\acs@addresslist@aux
  \fi
}
\newcommand*{\acs@affilfoot}{%
  \let\acs@fnsymbol@org\@fnsymbol
  \let\@fnsymbol\acs@fnsymbol
  \acs@tempcnta\z@\relax
  \acs@tempcntb\z@\relax
  \ifnum\acs@affilcnt>\@ne\relax
    \acs@affil@foot
  \else
    \ifnum\acs@altaffilcnt>\z@\relax
      \footnotetext[\@ne]{\@affil@i}%
      \acs@tempcnta\@ne\relax
    \fi
  \fi
  \ifnum\acs@altaffilcnt>\z@\relax
    \acs@altaffil@foot
  \fi
  \let\@fnsymbol\acs@fnsymbol@org}
\newcommand*{\acs@affil@foot}{%
  \advance\acs@tempcnta\@ne\relax
  \footnotetext[\acs@tempcnta]
    {\csname @affil@\@roman\acs@tempcnta\endcsname}%
  \ifnum\acs@tempcnta<\acs@affilcnt\relax
    \expandafter\acs@affil@foot
  \fi}
\newcommand*{\acs@altaffil@foot}{%
  \advance\acs@tempcntb\@ne\relax
  \begingroup
    \@ifundefined{@altaffil@\@roman\acs@tempcntb}
      {}
      {\aftergroup\acs@altaffil@foot@aux}%
  \endgroup
  \ifnum\acs@tempcntb<\acs@authorcnt\relax
    \expandafter\acs@altaffil@foot
  \fi
}
\newcommand*{\acs@altaffil@foot@aux}{%
  \advance\acs@tempcnta\@ne\relax
  \footnotetext[\acs@tempcnta]
    {\csname @altaffil@\@roman\acs@tempcntb\endcsname}%
}
\newcommand*{\acs@emaillist}{%
  \begingroup
    \renewcommand*{\UrlFont}{\sf}%
    \acs@tempcnta\z@\relax
    \acs@tempcntb\z@\relax
    \acs@email@list
    \expandafter\endgroup\expandafter\acs@tempcntb\number
      \acs@tempcntb\relax
  \ifnum\acs@tempcntb=\z@\relax
    \ClassError{achemso}{No e-mail given}
      {At lest one author must have a contact e-mail}%
  \fi}
\newcommand*{\acs@email@list}{%
  \advance\acs@tempcnta\@ne\relax
  \ifnum\acs@tempcnta>\acs@authorcnt\relax\else
    \begingroup
      \@ifundefined{@email@\@roman\acs@tempcnta}
        {\aftergroup\@gobble}
        {\aftergroup\@firstofone}%
    \endgroup
      {\advance\acs@tempcntb\@ne\relax
       \ifnum\acs@tempcntb>\@ne\relax
         ;
       \fi
       \expandafter\expandafter\expandafter\url\expandafter
         \expandafter\expandafter{%
           \csname @email@\@roman\acs@tempcnta\endcsname}}%
    \acs@email@list
  \fi}
\g@addto@macro{\document}{\maketitle}
\newfloat{scheme}{htbp}{los}
\floatname{scheme}{Scheme}
\newfloat{chart}{htbp}{loc}
\floatname{chart}{Chart}
\newfloat{graph}{htbp}{loh}
\floatname{graph}{Graph}
\newcommand*{\schemename}{Scheme}
\newcommand*{\chartname}{Chart}
\newcommand*{\graphname}{Graph}
\floatplacement{table}{htbp}
\floatplacement{figure}{htbp}
\floatstyle{plaintop}
\restylefloat{table}
\let\acs@floatboxreset\@floatboxreset
\renewcommand*{\@floatboxreset}{\centering\acs@floatboxreset}
\labelformat{scheme}{\schemename~#1}
\labelformat{chart}{\chartname~#1}
\labelformat{graph}{\graphname~#1}
\labelformat{figure}{\figurename~#1}
\labelformat{table}{\tablename~#1}
\newcommand*{\ps@achemso}{%
  \renewcommand*{\@oddfoot}{\reset@font\hfil\thepage\hfil}%
  \let\@evenfoot\@oddfoot
  \renewcommand*{\@oddhead}{%
    \reset@font
    \@author@i
    \ifnum\acs@authorcnt>\@ne\relax
      \space et al.%
    \fi
    \hfil\relax
    \ifx\@empty\@shorttitle\@empty
      \setbox\z@\hbox{\acs@title}%
      \ifdim\wd\z@>0.45\textwidth\relax
        \truncate{0.45\textwidth}{\acs@title}%
      \else
        \acs@title
      \fi
    \else
      \@shorttitle
    \fi}%
  \let\@evenhead\@oddhead}
\pagestyle{achemso}
\renewcommand*{\refname}{%
  \ifnum\the\value{bibnote}>\z@\relax
    Notes and
  \fi References}
\RequirePackage{achemso}
\@ifundefined{acs@manuscript}
  {\newcommand*{\acs@manuscript}{article}}{}
\edef\acs@tempa{note}
\ifx\acs@manuscript\acs@tempa
  \acs@killsecs
\fi
\edef\acs@tempa{review}
\ifx\acs@manuscript\acs@tempa
  \acs@restsecnums
\fi
\edef\acs@tempa{suppinfo}
\ifx\acs@manuscript\acs@tempa
  \acs@restsecnums
  \acs@setkeys{maxauthors=0}
\fi
\if@filesw
  \acs@writebib
\fi
\endinput
%%
%% End of file `achemso.cls'.
